#include <stdio.h>
int main(void)
{
    FILE *infile, *outfile;
    int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, b[10] = {0};
    // 以二进制写模式打开文件data.dat
    outfile = fopen("data.dat", "wb");
    // 以二进制读模式再次打开同一文件（输入/输出同一个文件）
    infile = fopen("data.dat", "rb");
    // 将数组a的10个整数以二进制块写入文件
    fwrite(a, sizeof(int), 10, outfile);
    fclose(outfile); // 必须先关闭写文件，否则读操作可能获取不到数据
    // 从文件中读取5个整数到数组b
    fread(b, sizeof(int), 5, infile);
    fclose(infile);
    // 打印读取的前5个整数
    for (int i = 0; i < 5; i++)
        printf("%d ", b[i]);
    printf("\n");
    return 0;
}
/* 代码功能说明：
   1. 用fwrite将数组a以二进制块写入data.dat。
   2. 关闭写文件后，用fread读取前5个整数。
   关键点：二进制块读写使用fwrite/fread，先关闭写文件再读是确保数据写入完成。
*/
